/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package trunk.view.tool;

import trunk.model.EDrawTool;
import trunk.model.PaintModel;
import trunk.observer.Observer;


/**
 * Class ToolPalette 
 * 
 * Composant représentant la palette d'outils
 * 
 * @author LEFEVRE Michael
 * @author THOUE Jonathan
 */
public class ToolPalette extends ToolPaletteView implements Observer{
    
    private ToolPaletteCtrl ctrl;
    
    private EDrawTool model;
    private PaintModel paintModel;
   /**
     * Constructeur par défaut
     */
    public ToolPalette() {
      super();
      setToolPaletteCtrl( new ToolPaletteCtrl(this) );
    }
    /**
     * Constructeur avec lien vers le MVC principal
     * @param model - lien vers le MVC principal
     */
    public ToolPalette(PaintModel model) {
      super();
      this.model = model.getDessin().getCurrentTool();
      this.paintModel=model;
      setToolPaletteCtrl( new ToolPaletteCtrl(this) );
    }
    
    /**
     * Get Model
     * @return le model courrant du composant (outils courrant)
     */
    public EDrawTool getModel() {
        return model;
    }
    /**
     * Set Model
     * @param model - le model courrant du composant (outils courrant)
     */
    public void setModel(EDrawTool model) {
        this.model = model;
    }
    /**
     * Get PaintModel
     * @return le lien vers le model général 
     */
    public PaintModel getPaintModel() {
        return paintModel;
    }
    
}

